/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.perspecte.vsflean.ui.backingbeans;

import com.perspecte.vsflean.app.pojo.QualityReport;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.primefaces.event.CloseEvent;
import org.primefaces.event.DashboardReorderEvent;
import org.primefaces.event.ToggleEvent;
import org.primefaces.model.DashboardColumn;
import org.primefaces.model.DashboardModel;
import org.primefaces.model.DefaultDashboardColumn;
import org.primefaces.model.DefaultDashboardModel;

/**
 *
 * @author Sandeep
 */
public class DashboardBean implements Serializable {

    private DashboardModel model;
    private List<String> panelName = new ArrayList<String>();

    public DashboardBean() {
        model = new DefaultDashboardModel();
        DashboardColumn column1 = new DefaultDashboardColumn();
        DashboardColumn column2 = new DefaultDashboardColumn();
        DashboardColumn column3 = new DefaultDashboardColumn();

        column1.addWidget("qualitySummary");
        column1.addWidget("qualityTotal");
        column2.addWidget("qualityChartDB");
        
        column2.addWidget("qualityAlert");
        
        model.addColumn(column1);
        model.addColumn(column2);
//		model.addColumn(column3);

        //----------
        panelName.add("Panel1");
        panelName.add("Panel2");
        panelName.add("Panel3");
        panelName.add("Panel4");

        



    }

    public void handleReorder(DashboardReorderEvent event) {
        FacesMessage message = new FacesMessage();
        message.setSeverity(FacesMessage.SEVERITY_INFO);
        message.setSummary("Reordered: " + event.getWidgetId());
        message.setDetail("Item index: " + event.getItemIndex() + ", Column index: " + event.getColumnIndex() + ", Sender index: " + event.getSenderColumnIndex());

        addMessage(message);
    }

    public void handleClose(CloseEvent event) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Panel Closed", "Closed panel id:'" + event.getComponent().getId() + "'");

        addMessage(message);
    }

    public void handleToggle(ToggleEvent event) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, event.getComponent().getId() + " toggled", "Status:" + event.getVisibility().name());

        addMessage(message);
    }

    private void addMessage(FacesMessage message) {
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public DashboardModel getModel() {
        return model;
    }

    /**
     * @return the panelName
     */
    public List<String> getPanelName() {
        return panelName;
    }
}
